package com.foxire.extends_override;

public class Test2 {
    // 目标：方法重写的常见应用场景,子类重写0bject的toString方法，以便返回对象的内容。
    public static void main(String[] args) {
        Student s1 = new Student("段婷",25);
//        s1.setName("张三");
//        s1.setAge(25);
        System.out.println(s1);  // com.foxire.extends_override.Student@2f4d3709
        System.out.println(s1.toString());// com.foxire.extends_override.Student@2f4d3709
        // 注意1:直接输出对象，默认会调用0bject的toString方法，返回对象的地址信息
        // 注意2:输出对象的地址实际上是没有什么意义的，开发中更希望输出对象时看对象的内容信息，所以子类需要重写0bject的tostring方法。以便以后输出对象时默认就近调用子类重写的toString方法返回对象的内容。

    }
}

class Student {

    private String name;
    private int age;

    public Student() {}

    public Student(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    @Override
    public String toString() {
        return "Student{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
}